Digital images can be produced using imaging sensors, computer graphics, or both. Image sensors can be used to directly capture digital representations of an imaged scene. For example, a digital still camera can produce a digital image while a digital video recorder (DVR) can produce a digitized video of an imaged time varying scene. For simplicity, the term digital image shall be used to refer to both digital still images and digital video images. Computer graphics techniques can also be used to render digital images of scenes that do not exist in reality. Computer graphics techniques can also be used to combine digital images.
Image compositing is the process of combining multiple image layers into a single image. One type of image layer is an image having a specified “z value”. For example, a foreground image layer can contain a person's image while a background image layer can contain a simulated space scene. The foreground image can have a z value equaling 0 while the background can have a z value of 1. The z values indicate that the foreground image is in front of the background image. Image compositing techniques can be used to combine the foreground image and the background image to produce an image of the person in front of the simulated space scene.
Another type of image layer is an image having a z value associated with every pixel in the image. Returning to the example above, the image layer containing a person's image can have a z value equaling fifty associated with every pixel while the space scene image layer can have z values ranging from 0 to 100. Image compositing can produce an image with the person inside the space scene.
More complex images can be produced by compositing many layers. One way to composite layers is to z sort and alpha blend them. Z sorting determines which pixel is in front of another pixel and alpha blending combines the pixels. A foreground pixel and a background pixel can be blended using the following equation:Vblended=αfg(Vfg)+(1−αfg)(Vbg)where αfg is the foreground alpha value, Vfg is the foreground pixel value, Vbg is the background pixel value, and Vblended is the alpha blended pixel value. Gray scale images usually use a single number to represent each pixel value while color images usually use three numbers to represent each pixel value. The three numbers for color pixels are often red, green, and blue saturation values. Those skilled in the art of digital image processing are familiar with alpha blending, techniques for alpha blending, and the application of alpha blending to large number of image layers.
Computational requirements limit what can be displayed to a user because the computational requirements for blending images increase as image resolution increases and as the number of layers increase. Addressing bottlenecks in computational power and data transmission can result in providing greater computational resources for blending more image layers having higher resolution.